Principled Dynamic Code Improvement
نویسندگان
چکیده
A method for dynamically updating running code is described. The method is "principled" in that old functionality is not destroyed. Rather, new functionality is added which can selectively and dynamically change the overall behavior of the system, yet all formal properties of the original system are guaranteed to still hold. Higher-order functions are the key to making this work, and an implementation in Hugs, a Haskell byte-code interpreter, is described.
منابع مشابه
Compiling for Runtime Code Generation
Cyclone is a programming language that provides explicit support for dynamic specialization based on runtime code generation. To generate specialized code quickly, our Cyclone compiler uses a template based strategy in which pre-compiled code fragments are stitched together at runtime. To achieve good performance, the pre-compiled fragments must be optimized. This paper describes a principled a...
متن کاملNumerical Modelling of Dynamic Compaction in Dry Sandy Soils for Determination of Effective Print Spacing
Dynamic compaction (DC) is a widely used soil improvement method in dry and/or saturated soils. The design of DC treatment is usually carried out based on the past experiences and empirical relations. In order to clarify the ambiguities in DC processes, numerical modeling of DC in dry granular soils has been considered using a dynamic finite element code. Using the developed model, two design c...
متن کاملTowards a More Principled Compiler: Register Allocation and Instruction Selection Revisited
Backend optimizations are a critical part of an optimizing compiler. This thesis develops a principled approach for understanding, evaluating, and solving backend optimization problems. Our principled approach is to develop a comprehensive and expressive model of the backend optimization problem, and design solution techniques for this model that achieve or approach optimality. We apply our pri...
متن کاملPrincipled strength reduction
This paper presents a principled approach for optimizing iterative (or recur-sive) programs. The approach formulates a loop body as a function f and a change operation , incrementalizes f with respect to , and adopts an incrementalized loop body to form a new loop that is more eecient. Three general optimizations are performed as part of the adoption; they systematically handle initializations,...
متن کاملInformation Flow Analysis for a Dynamically Typed Functional Language with Staged Metaprogramming
Web applications written in JavaScript are regularly used for dealing with sensitive or personal data. Consequently, reasoning about their security properties has become an important problem, which is made very difficult by the highly dynamic nature of the language, particularly its support for runtime code generation. As a first step towards dealing with this, we propose to investigate securit...
متن کامل